Make GtkFileChooser interface require a GObject
authorAlexander Larsson <alexl@redhat.com>
Thu, 29 Oct 2015 13:55:48 +0000 (14:55 +0100)
committerAlexander Larsson <alexl@redhat.com>
Thu, 5 Nov 2015 15:52:52 +0000 (16:52 +0100)
Before all GtkFileChooser implementations had to be a GtkWidget,
but we want to introduce one for native implementations that
is not a widget.

This is technically an ABI break, because some code could rely
on the guarantee that GtkFileChoosers are GtkWidgets and do
unchecked GtkWidget calls. However, that does seem unlikely,
and this has not really been documented anywhere.

NEWS
README.in
gtk/gtkfilechooser.c

diff --git a/NEWS b/NEWS
index 6ad742eb85721f94f90c15ae157b2c61d932cc15..fd720fdb06982b24b360caf585f7b42e9f6808e3 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,8 @@
+Overview of Changes in GTK+ 3.19.2
+==================================
+* The GtkFileChooser interface prerequisite was changed from GtkWidget
+  to GObject to allow non-widget filechooser implementations.
+
 Overview of Changes in GTK+ 3.19.1
 ==================================
 
index 4ff9b32dcff7244fb0ca3aa1d9e456f84c5e2885..7e7e6065d800e7954ab4db78ef899e8ecdc3bba6 100644 (file)
--- a/README.in
+++ b/README.in
@@ -72,6 +72,15 @@ and attach the patch to that bug report.
 Patches should be in unified diff form. (The -up option to GNU diff)
 Even better are git-formatted patches. (Use git format-patch)
 
+Release notes for 3.20
+======================
+
+* The GtkFileChooser interface pre-requisite changed from GtkWidget
+  to GObject, allowing non-widget implementations of this interface.
+  This is a minor change in ABI, as apps are no longer guaranteed
+  that a GtkFileChooser interface also supports all GtkWidget methods.
+  However, all previously existing objects still derive from GtkWidget,
+  so no existing code should break.
 
 Release notes for 3.18
 ======================
index b8513cebb49cd95f151b2660f89be5f7c6c1c8e1..5ed25fddd38511c1b31ed82da4bdf5f2a887bf49 100644 (file)
 
 
 typedef GtkFileChooserIface GtkFileChooserInterface;
-G_DEFINE_INTERFACE (GtkFileChooser, gtk_file_chooser, GTK_TYPE_WIDGET);
+G_DEFINE_INTERFACE (GtkFileChooser, gtk_file_chooser, G_TYPE_OBJECT);
 
 static gboolean
 confirm_overwrite_accumulator (GSignalInvocationHint *ihint,